/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package desarrollosoft.ghce.servicio.interfaces;

import desarrollosoft.ghce.entidades.AntecedenteHeredoFamiliar;
import desarrollosoft.ghce.entidades.AntecedenteNoPatologico;
import desarrollosoft.ghce.entidades.AntecedentePatologico;
import desarrollosoft.ghce.entidades.Aspecto;
import desarrollosoft.ghce.entidades.Gravedad;
import desarrollosoft.ghce.entidades.Paciente;
import java.util.List;

/**
 *
 * @author ariel
 */
public interface IServicioAntecedentes {
    
    public List<AntecedentePatologico> obtenerTodosAntecedentesPatologicos(Paciente paciente, Gravedad gravedad);
    
    public List<AntecedentePatologico> obtenerAntecedentesPatologicos(Paciente paciente, String textoBuscar, Gravedad gravedad);

    public void crearAntecedentePatologico(AntecedentePatologico antecedente) throws Exception;

    public void modificarAntecedentePatologico(AntecedentePatologico antecedente) throws Exception;

    public List<Gravedad> obtenerTodasGravedades();
    
    public List<AntecedenteNoPatologico> obtenerAntecedentesNoPatologicos(Paciente paciente);
    
    public List<Aspecto> obtenerTodosAspectos();
    
    public List<AntecedenteNoPatologico> obtenerAntecedentesNoPatologicos(Paciente paciente, Aspecto aspecto);

    public void crearAntecedenteNoPatologico(AntecedenteNoPatologico antecedente);

    public void modificarAntecedenteNoPatologico(AntecedenteNoPatologico antecedente);

    public List<Aspecto> obtenerAspectosCoincidentes(Paciente paciente, Aspecto aspecto);

    public boolean loTieneCargado(Paciente paciente, Aspecto aspecto);
    
    public List<AntecedenteHeredoFamiliar> obtenerAntecedentesHeredoFamiliares(Paciente paciente);
    
    public List<AntecedenteHeredoFamiliar> obtenerAntecedentesHeredoFamiliares(Paciente paciente, String textoBuscar);

    public void crearAntecedenteHeredoFamiliar(AntecedenteHeredoFamiliar antecedente) throws Exception;

    public void modificarAntecedenteHeredoFamiliar(AntecedenteHeredoFamiliar antecedente) throws Exception;

    public void eliminarAntecedentePatologico(AntecedentePatologico antecedenteSeleccionado) throws Exception;

    public void eliminarAntecedenteNoPatologico(AntecedenteNoPatologico antecedenteNoPatologico) throws Exception;

    public void eliminarAntecedenteHeredoFamiliar(AntecedenteHeredoFamiliar antecedenteHeredoFamiliar) throws Exception;
    
    
}
